home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / infop125.arc / PAGE_14.INC < prev    next >
Text File  |  1991-04-28  |  3KB  |  109 lines

  1. procedure page_14;
  2.  
  3. var
  4.   i : byte;
  5.   xbool : boolean;
  6.   xbyte1 : byte;
  7.   xbyte2 : byte;
  8.  
  9. begin
  10.   caption2('BIOS disk parameters');
  11.   xbool:=true;
  12.   for i:=$00 to $FF do
  13.     with regs do begin
  14.       AH:=$08;
  15.       DL:=i;
  16.       intr($13, regs);
  17.       if nocarry and ((BL > $00) or (i >= $80)) then
  18.         begin
  19.         if xbool then begin
  20.           xbool:=false;
  21.           writeln;
  22.           caption3('Unit');
  23.           writeln;
  24.           caption3('Type');
  25.           writeln;
  26.           caption3('Drives');
  27.           writeln;
  28.           caption3('Heads');
  29.           writeln;
  30.           caption3('Cylinders');
  31.           writeln;
  32.           caption3('Sectors/track');
  33.           writeln;
  34.           caption3('Specify bytes');
  35.           writeln;
  36.           caption3('Off time (s)');
  37.           writeln;
  38.           caption3('Bytes/sector');
  39.           writeln;
  40.           caption3('Sectors/track');
  41.           writeln;
  42.           caption3('Gap length');
  43.           writeln;
  44.           caption3('Data length');
  45.           writeln;
  46.           caption3('Gap length for format');
  47.           writeln;
  48.           caption3('Fill byte for format');
  49.           writeln;
  50.           caption3('Head settle time (ms)');
  51.           writeln;
  52.           caption3('On time (ms)');
  53.           writeln;
  54.           xbyte1:=27;
  55.         end;
  56.         if xbyte1 + 10 > twidth then begin
  57.           pause1;
  58.           if endit then
  59.             Exit;
  60.           xbyte1:=27;
  61.           window(xbyte1, 4, twidth, tlength - 2);
  62.           clrscr
  63.         end;
  64.         window(xbyte1, 4, xbyte1 + 11, tlength - 2);
  65.         writeln(i);
  66.         if i < $80 then
  67.           case BL of
  68.             $01 : writeln('360KB 5¼"');
  69.             $02 : writeln('1.2MB 5¼"');
  70.             $03 : writeln('720KB 3½"');
  71.             $04 : writeln('1.44MB 3½"')
  72.             else
  73.               writeln('(', hex(BL, 2), ')')
  74.           end
  75.         else
  76.           writeln('fixed disk');
  77.         writeln(DL);
  78.         writeln(DH + 1);
  79.         writeln(cbw(CH, CL shr 6) + 1);
  80.         writeln(CL and $3F);
  81.         if i < $80 then begin
  82.           writeln('$', hex(mem[ES : DI], 2), ' $'
  83.             , hex(mem[ES : DI + $0001], 2));
  84.           writeln(longint(mem[ES : DI + $0002]) shl 16 / tick1 : 0
  85.             : 1);
  86.           xbyte2:=mem[ES : DI + $0003];
  87.           case xbyte2 of
  88.             $00 : writeln('128');
  89.             $01 : writeln('256');
  90.             $02 : writeln('512');
  91.             $03 : writeln('1024')
  92.             else
  93.               writeln('(', hex(xbyte2, 4), ')')
  94.           end;
  95.           writeln(mem[ES : DI + $0004]);
  96.           writeln(mem[ES : DI + $0005]);
  97.           writeln(mem[ES : DI + $0006]);
  98.           writeln(mem[ES : DI + $0007]);
  99.           writeln('$', hex(mem[ES : DI + $0008], 2));
  100.           writeln(mem[ES : DI + $0009]);
  101.           writeln(125 * mem[ES : DI + $000A])
  102.         end;
  103.         inc(xbyte1, 13)
  104.       end
  105.     end;
  106.   if xbool then
  107.     writeln('(no disks)')
  108. end;
  109.